Methods, interface unit and nodes for using in parallel a communication network for real-time applications and for non-real-time applications

ABSTRACT

The invention concerns a data transmission technique for real-time applications and non real-time applications in a communication network comprising several nodes connected by communication channels. The invention is characterized in that the data are cyclically and deterministically transmitted, the data for the real-time applications being processed in priority, such that, during one transmission cycle, all the data for the real-time applications are first sent, then, in the time interval remaining prior to the next transmission cycle, the data for non real-time applications are sent.

Ethernet is the most widely disseminated technology with which data canbe transferred in local data communications networks known as local areanetworks (LAN), currently at a speed of up to 100 million bits/sec(Mbps). LANs are local communications networks that are limited to onegeographical area and are composed of one or more servers andworkstations, known as nodes, which are connected via a communicationsline network such as a coaxial, fiber-optic or twisted pair cable. Agreat variety of network topologies are possible for LANs, with bus,ring, star or tree structures being the most widely known.

LANs are operated with a network operating system and a uniform networkprotocol. Ethernet represents one possible network protocol and supportsa wide variety of communications protocols such as the TCP/IP protocolor the IPX protocol. In the OSI layer model, the international referencemodel for data transfer in networks, which is constructed of a layerstack of seven layers, with a number of protocols defined for eachlayer, each providing their services to the next higher layer, Ethernetis assigned to the second layer, the so-called data link layer. In thisline layer, the data to be transferred is bundled into packets to whichspecific information for the respective communications protocol isadded. The data link layer is responsible in the network fortransporting the packets from node to node and for error detection. Inthe Ethernet concept, the data link layer is subdivided into two planes,with the first plane adding an initial section, known as a header, whichcontains information that is needed by the receiver protocol for properdata transfer. In the second plane of the Ethernet protocol, the datapacket is then encapsulated with the aid of an additional header andanother end section, known as a trailer, for the transport of datapackets from node to node. With such Ethernet data packets, known asEthernet telegrams, data with a length of up to 1500 bytes can betransferred.

Ethernet protocols are predominantly employed in office communicationsnetworks. Because of the advantages of the Ethernet concept in the usageof standard hardware and software components, as well as the possibilityof achieving high data-transfer rates with a simple network topology,there is the desire to employ the Ethernet protocol for data exchangebetween workstations in industrial production as well. Particularly thedeficient real-time capability of the Ethernet protocol, however, allowsonly limited usage in automation technology. In controlling machines, itis necessary that there be a cyclical processing of the control taskwithout fluctuations, i.e., with only slight deviations from the desiredcycle time in the range of a few microseconds, with a reaction to thecontrol request in a predictable response time.

Real-time capability and fast reaction time as required in automationtechnology have only a subordinate importance, however, in the standarddata-processing applications for which Ethernet communication is usuallyemployed. It is true that Ethernet communications methods are known forreal-time transfer of data for video and audio data transmission. Therequirements on reaction times are not very critical for suchapplications, however, because small fluctuations can readily becompensated for with suitable data buffers in the workstations. Inbidirectional communication as well, for instance in Internet telephonyor online gaming, real-time capability and reaction time play only aminor role.

In order to make the applications mentioned above possible in thecontext of Ethernet communications, methods have been developed toprioritize individual Ethernet frames. Two methods are primarily used inthis regard. In order to achieve a certain real-time capability withshort reaction times, the Ethernet data telegrams to be transmitted areclassified into various priority categories, with the data packetshaving the highest priority being sent first. Alternatively, methods areused in which the priority of the data is added to the Ethernet datapacket itself in the form of additional information. Based on thisadditional information, later nodes in the network can then detect thosedata packets that have been given a higher priority and give thempreferred processing.

The two Ethernet methods above, however, do not meet the higherrequirements for real-time capability, i.e., the processing of datasynchronously with its generation without detectable delay, and reactiontimes that are necessary in automation technology. In particular, thereis the problem that, even with an optimal assignment of priorities tothe Ethernet data packets, a lower-priority Ethernet telegram currentlybeing transmitted is still transmitted in full when a new,higher-priority data packet arrives. The newly arriving, high-prioritypacket is then delayed by the transmission time of the lower-prioritydata packet, thus up to about 1500 bytes for an Ethernet data packet.This can lead to a time delay of up to about 150 μsec, so that therequirements of hard real-time applications with cycle times of around50 μsec and reaction times of at most 10 μsec cannot be met.

The problem of the invention is to provide a method for operating alocal communications network and an interface unit for linking a node tosuch a local communications network with which real-time andnon-real-time applications can be run in parallel in a simple manner.

This problem is solved by a method according to Claim 1, an interfaceunit according to Claim 8 and a node according to Claim 13. Preferredrefinements are specified in the dependent claims.

According to the invention, data transfer is performed cyclically anddeterministically in a communications network with several nodes thatare connected to one another by way of a communications link, with datafor real-time applications being handled on a prioritized basis, so thatall data for real-time applications is passed on first in a transmissioncycle and, in the time remaining until the next transmission cycle, datafor non-real-time applications is then transmitted.

The data transmission method according to the invention for a local areanetwork permits parallel usage of the communications network forreal-time and non-real-time applications. In particular, it is assuredthat the protocols according to the invention for local area networkswhich the data link layer in the OSI model represents [sic; whichrepresent the data link layer in the OSI model] also satisfy therequirements of real-time capability and reaction time for machinecontrol tasks. In order to meet the communications requirements of areal-time system, data transmission is done under complete control ofthe real-time system, with real-time data communication beingprioritized over the remaining data communication, e.g., for errordiagnosis, which is initiated by the operating system of the node. Alldata for non-real-time applications is treated on principle as beinglower-priority and is transmitted only when data transmission forreal-time data packets has already terminated. With the aid of theprioritization technique of the invention for real-time data withsimultaneous performance of a cyclical and deterministic datatransmission, it is assured that non-real-time capable accesses areexecuted only after real-time capable accesses and thus do not obstructreal-time data traffic.

According to a preferred embodiment, a transmission process is carriedout in such a manner that the data for real-time applications is firsttransmitted in a transmission cycle, and then the time remaining untilthe next transmission cycle is calculated so that the remaining time canbe used for data transmission for non-real-time applications. In thatway it is assured that data packets from the real-time system alwaysfinds a free transmission line when their turn comes. Data packets fornon-real-time applications such as the operating system are sent onlythereafter, in the gaps between two transmission cycles, if theappropriate amount of time remains. It is preferred to transmit the datain packets such that, if the time remaining after transmitting the datafor real-time applications exceeds the time span required fortransmitting a data packet for non-real-time applications, the datapacket in question is interim-stored and preferably set with the nexttransmission cycle. This procedure permits simple priority control ofthe transmitting operation of real-time applications and non-real-timeapplications.

According to an additional preferred embodiment, the data received in areception cycle is analyzed in a transmission process in order todetermine which of the received data is data for real-time applicationsand which is data for non-real-time applications, with the received datafor real-time applications being processed in the ensuing receptioncycle. This procedure makes it possible to filter out all real-timerelevant data packets without regard to when or in what order theyarrive. In that way it is assured that real-time relevant information isavailable in complete form for the real-time applications to be run.

It is additionally preferred to process the filtered-out received datafor non-real-time applications in a process independent of the real-timeapplications. The passing of data packets with data that is notreal-time relevant to the operating system outside of the real-timecontext permits a high data transfer rate with simultaneous simpleimplementation of the reception process.

According to another preferred embodiment, transmission, reception andprocessing for the data of the real-time applications and the data ofthe non-real-time applications are executed in parallel, with thereceived data being evaluated in a first step for processing the data,the real-time applications being run with the detected real-time data ina second step, and with the real-time data to be transmitted beingturned over in a third step. This procedure permits high transmissionperformance with complete real-time capability and thus guarantees thecommunications requirement for fast machine control. It is preferred inthis case to design the transmission and reception cycle in full duplexoperation such that the cycle period is fixed, but the transmissioncycle is delayed by a constant time span with respect to the receptioncycle corresponding to the first and second processing steps in whichthe data is analyzed and the real-time applications are run. Thisprocedure assures simple and fast full duplex operation withtrouble-free real-time communication.

The invention will be explained further on the basis of the appendeddrawings. Shown are:

FIG. 1, possible network topologies for a local area network;

FIG. 2, a possible connection of a node to a network;

FIG. 3, a conventional design of a network system with a separateEthernet controller for non-real-time applications and a field bussystem for real-time applications;

FIG. 4, a driver according to the invention for parallel running ofreal-time applications and non-real-time applications on an Ethernetcontroller;

FIG. 5, a transmission process according to the invention for real-timedata packets and non-real-time data packets; and

FIG. 6, a full duplex operation according to the invention for paralleltransmission, reception and processing of real-time and non-real-timedata packets.

With a communications network, it is possible in a simple manner toexchange data and resources between workstations, generally computers ormachines, also called nodes below, and to use them jointly. The Ethernetconcept is the most widespread communications standard in local areanetworks (LAN). Ethernet is based on a LAN structure in which aplurality of nodes are connected to one another via a sharedtransmission medium, the Ethernet concept taking on the encapsulation ofthe data to be transmitted in data packets, referred to as datatelegrams below, with a predetermined format. Ethernet consists of threedomains, namely, the transmission medium and the network interfaces,i.e., the hardware, the set of protocols that control access to thetransmission medium, and the Ethernet packet format. Ethernetfundamentally represents a bus network, in which arbitrary bustopologies can be used, as shown in FIG. 1.

FIG. 1 a shows another additional network topology for an Ethernet. Herethe nodes 1 are connected via point-to-point connections 2 to a centralswitching station 3, known as a switcher. FIG. 1 b represents a bussystem as a possible network topology. Here all nodes 1 are connected toone another via a transmission line 2. FIG. 1 c represents anotherEthernet network topology in the from of a tree network, which is acombination of the network systems above, which are connected by way ofswitching centers 4, known as hubs, inserted between the networksystems.

FIG. 2 shows a possible connection of a node 1 in a network topologywith point-to-point connections. In Ethernet the access to thetransmission medium 2 is generally accomplished by way of a coupler unit10, known as a transceiver, which is generally placed directly on anetwork adapter card together with an Ethernet controller 12. Ethernetcoupler 10 is connected via an interface 11 and Ethernet controller 12.Alternatively, the Ethernet controller can also be integrated into theEthernet controller. The Ethernet controller performs the encoding ofthe data to be transmitted and the decoding of the received data. Allcontrol measures necessary for the operation of the Ethernet are alsomanaged by Ethernet controller 12, i.e., the Ethernet controller carriesout the management and the encapsulation of the data. Alongside thislink management, the Ethernet controller 12 also serves as the interfaceto the data station, the node, in which the data is then furtherprocessed.

Ethernet data transmission usually takes place with the aid of networkprotocol such that data transmission is only carried out if the networkis calm. In addition, a collision avoidance mechanism is provided. AnEthernet packet can contain about 1500 bytes, the data beingencapsulated by means of header and trailer information that indicatesthe initial label, the target and source address, the type of datapacket and the mechanism for error recognition.

The operating systems of the nodes involved in the network communicationgenerally have a stratified software structure in order to separateprotocol-specific processing from telegram-specific andhardware-specific processing. It is thereby possible to use differentcommunications protocols for the Ethernet standard without having tomake modifications to the hardware-specific driver in each case. At thesame time, there is also the possibility of modifying the hardwarewithin the Ethernet standard without having to make protocol-specificmodification to the software. The communications protocol used candetermine the Ethernet controller at which an Ethernet telegram is sent.The telegrams received by the Ethernet controller are in turn madeavailable to all protocols of the operating system in the node, with theprotocols deciding whether they then process the telegram.

Ethernet has established itself particularly as the communicationsstandard for network systems in office communications, since standardhardware components and standard software components can be used andhigh data transfer rates are possible. For this reason, it is alsodesirable to be able to use the Ethernet standard in an industrialenvironment. The essential problem in this regard is the insufficientreal-time capability, so that for automation tasks the network systemsfor carrying out communication tasks that are not time-critical and thereal-time applications for machine control are conventionally separated,as shown in FIG. 3. For real-time applications, communications networkswith independent controller subassemblies, known as field buscontrollers, are generally provided in the workstations in order to beable to carry out time-critical control tasks. With such field bussystems for real-time applications, it has conventionally been possibleto achieve cycle times of 50 μs for machine control with acceptablejitter times, i.e., deviations of 10 μs from the desired cycle time.

To also be able to use local area networks for non-time-criticalstandard applications, especially those conforming to the Ethernetstandard, as a genuinely real-time capable data transfer network forcarrying out control tasks, the hardware-specific and/orsoftware-specific driver of conventional Ethernet controllers isreplaced by an Ethernet driver according to the invention that has beenenhanced for real-time operation, as shown in FIG. 4. This Ethernetcontroller according to the invention enables the parallel usage of thecommunications network for transmitting data for real-time applicationsand data for non-real-time applications. The data transmission isperformed cyclically and deterministically, the data for real-timeapplications being treated with priority, so that in a transmissioncycle all real-time data is first transferred and, in the time thatremains until the next transmission cycle, the data for non-real-timeapplications is transferred. All the data, collected in the form oftelegrams, for non-real-time applications, particularly those generatedby the operating system of the node assigned to the Ethernet controller,is treated as having lower priority and is subordinated to the real-timesystem. The Ethernet controller according to the invention communicateswith the real-time system and is responsible for the real-time capabletransmission and reception of the Ethernet telegrams. To allow theparallel running of standard applications, the Ethernet controlleraccording to the invention reports itself to the operating system of thenode as a standard Ethernet driver, to which in principle allcommunications protocols of the operating system are available. All dataof the operating system is handled by the Ethernet controller of theinvention with lower priority and sent only after a check by thereal-time system. All received real-time telegrams are assessed by thereal-time system and then passed on to the operating system ifappropriate.

The Ethernet controller according to the invention is thus completelyunder the control of the real-time system, so that non-real-timeaccesses are prevented or shifted to non-real-time critical timesections. The prioritized transmission of real-time and standardtelegrams is also done in the manner shown in FIG. 5. In thetransmission process, it is assured in a transmission cycle with the aidof the Ethernet controller according to the invention that the data forthe real-time application is transmitted completely, and only then isthe data for the non-real-time application transferred. This cyclicaland deterministic transmission process assures that pending real-timetelegrams are transmitted without delay. Simultaneously, the length ofthe pending real-time telegrams is added up to determine thetransmission period for a known data rate. After all real-time telegramshave been transmitted the time that remains until the transmission cycleis calculated. In this remaining time, the available telegrams withnon-real-time applications [sic; data] which are to be transmitted bythe operating system and are stored in a buffer, preferably a FIFOqueue, are transmitted. The transmission period required fortransmitting these data telegrams with non non-real-time applications isagain taken into consideration. If a telegram with non-real-time datacannot be transmitted in the time remaining until the next transmissioncycle, then it remains in FIFO storage and is transmitted only after thetransmission of the real-time telegrams in the next transmission cycle.

In the transmission process, the data received in a reception cycle isanalyzed with the aid of the Ethernet controller to determine which ofthe data received is data for real-time applications and which of thedata received is data for non-real-time applications, with the receiveddata for real-time applications then being processed at the start of thenext real-time [cycle]. The data for non-real-time applications, on theother hand, is processed in a process independent of the real-timeapplication.

The preferred procedure here is that the received Ethernet telegrams arestored in the order of reception by the Ethernet controller according tothe invention, preferably in the node's memory. The Ethernet controlleris set such that it does not initiate any interrupts during reception,so that all received telegrams are processed only at the start of thenext real-time cycle. In this process, the real-time system goes throughall received telegrams and then analyzes the telegrams relevant to thereal-time system. All received real-time relevant data is thus availableat the start of the real-time cycle. All telegrams with data of noreal-time relevance, on the other hand, are marked as read and passed onto the operating system outside the real-time context. In a processindependent of the real-time application, the list of marked receivedtelegrams can then be processed by the operating system and itsprotocols. The real-time telegrams processed by the real-time system,however, are not passed on to the operating system as a rule. Such atransfer is done only for debugging purposes.

Moreover, it is preferable, for use of Ethernet, for real-time andnon-real-time applications to be performed in full duplex mode, i.e.,with the possibility of a parallel transmission, reception andprocessing of data for real-time applications and non-real-timeapplications. A full-duplex operation according to the invention isshown in FIG. 6. Several successive real-time cycles are shown there,with the time sequence of the processing by the central processing unit(CPU) in the node being illustrated for each, as well as the sequence oftransmission and reception processes of real-time telegrams and standardtelegrams with non-real-time data. In step 1, the received telegramsfrom the previous transmission cycle are analyzed at the start of eachreal-time cycle. In step 2, the actual automation task is performed inreal time on the basis of the analyzed real-time data. In step 3, thepending real-time telegrams are turned over to the Ethernet controllerby the central processing unit. Here the real-time relevant telegramsare always transmitted immediately and then—if present and if sufficienttime remains—the telegrams with operating system data that is notreal-time relevant. The transmission process is always delayed relativeto the beginning of a real-time cycle by a fixed time span thatcorresponds to he time period for the first and second processing stepsof the CPU. The reception process, on the other hand, is preferablystarted simultaneously with or shortly after the start of the real-timecycle.

By virtue of the expansion of the Ethernet concept according to theinvention, it is possible to use local networks in parallel for standardapplications and real-time applications.

1-10. (canceled)
 11. A method for transmitting data for real-timeapplications and non-real-time applications in a communications networkwith several nodes that are connected to one another via communicationpaths, wherein the data transmission takes place in a cyclic anddeterministic fashion and data for real-time applications has priorityover other data such that all data for real-time applications istransmitted first during a transmission cycle and data for non-real-timeapplications is subsequently transmitted in the time that remains untilthe next transmission cycle starts, the method comprising the steps of:transmitting, receiving and processing data for real-time applicationsand data for non-real-time applications in parallel during a real-timecycle by: executing a first processing step wherein, in a real-timecycle, the data received in a previous real-time cycle is analyzed todetermine which received data are intended for real-time applicationsand which data are intended for non-real-time applications; executing asecond processing step including executing the real-time applications;and executing a third processing step including the transmission of thedata to be transmitted for real-time applications during a transmissioncycle.
 12. The method according to claim 11, wherein the thirdprocessing step comprises transmission of data for real-timeapplications in its entirety during the transmission cycle, and whereinthe third processing step further comprises calculating the timeremaining until the next transmission cycle starts, in order tosubsequently transmit data for non-real-time applications in theremaining time.
 13. The method according to claim 12, wherein the datais transmitted in the form of data packets, and wherein the thirdprocessing step further comprises: storing the data packet in theinterim; and transmitting the data packet preferentially during the nexttransmission cycle, when the time remaining after the transmission ofdata for real-time applications exceeds the transmission time requiredto transmit a data packet for real-time applications.
 14. The methodaccording to claim 13, wherein data received for non-real-timeapplications is processed independently of data received for real-timeapplications.
 15. The method according to claim 11, wherein datareceived for non-real-time applications is processed independently ofdata received for real-time applications.
 16. The method according toclaim 11, wherein the duration of the transmission and reception cyclescorresponds to that of the real-time cycle, and wherein the transmissioncycle is delayed relative to the reception cycle by a constant period oftime that corresponds to the period of time for the first and the secondprocessing step.
 17. The method according to claim 16, wherein thereception cycle is started simultaneously with or shortly after thestart of the real-time cycle.
 18. A node configured to carry out theparallel transmission, reception and processing of data for real-timeapplications and data for non-real-time applications, the nodecomprising: an interface unit connecting the node to a communicationsnetwork including several nodes connected to one another via acommunications path, the interface unit configured to cyclically anddeterministically transmit data between the node and the communicationsnetwork in order to handle data for real-time applications with priorityover data for non-real-time applications, such that all data forreal-time applications is transmitted first during a transmission cycleand data for non-real-time applications is subsequently transmitted inthe time that remains until the next transmission cycle starts; and aprocessing unit (CPU) operatively coupled to the interface unit, whereinthe processing unit: evaluates the data received in the respectivelypreceding real-time cycle in a first processing step of a real-timecycle in order to determine the received data intended for real-timeapplications and the received data intended for non-real-timeapplications; executes the real-time applications in a second processingstep; and transfers the data to be transmitted for real-timeapplications to the interface unit for actual data transmission in athird processing step.
 19. The node according to claim 18, wherein theinterface unit transmits data for real-time applications in its entiretyduring a transmission cycle and calculates the time remaining until thenext transmission cycle in order to transmit data from non-real-timeapplications in the remaining time.
 20. The node according to claim 19,wherein the data is transmitted in the form of data packets, and whereinthe interface unit includes a buffer that stores the data packet in theinterim if the time remaining after the transmission of data forreal-time applications is exceeded by the transmission time required totransmit a data packet for non-real-time applications, with the datapacket preferentially transmitted during the next transmission cycle.21. The node according to claim 20, wherein the processing unitprocesses the received data for real-time applications and the receiveddata for non-real-time applications independently of one another. 22.The node according to claim 18, wherein the processing unit processesthe received data for real-time applications and the received data fornon-real-time applications independently of one another.
 23. The nodeaccording to claim 18, wherein the data is transmitted in the form ofdata packets, and wherein the interface unit includes a buffer thatstores the data packet in the interim if the time remaining after thetransmission of data for real-time applications is exceeded by thetransmission time required to transmit a data packet for non-real-timeapplications, with the data packet preferentially transmitted during thenext transmission cycle.